#ifndef __MAP_FS__
#define __MAP_FS__

#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl.h"
#include "S_UART.h"
#include "fatfs.h"
#include "string.h"

#define MAP_WIDE 720
#define MAP_HEIGHT 480
#define WIDE_BOX_NUM 12
#define HEIGHT_BOX_NUM 8

typedef struct box_Level
{
    int map[HEIGHT_BOX_NUM][WIDE_BOX_NUM];
    int islocked;
    int pos_x;
    int pos_y;
    struct box_Level *next;
}Level;

typedef struct game_box 
{
    Level* head;
    Level* tail;
    Level* current;
    int currentLevel;
}Box;

enum element{
    null,//基岩背景
    wall,//砖头墙
    person,//人物
    box,//箱子
    aim,//目的地
    nothing,//不起作用，站位
    aim_with_person,//目的地和人在同一格
    aim_with_box//目的地和箱子在同一格
};

void loadMap_toSD(Level *p, int i);
void readMap_fromSD(Level *p, int i);

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif